package co.com.smart.persistence.entity.dto;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * The persistent class for the smart_datos_maestro database table.
 * 
 */
@Entity
@Table(name="smart_datos_maestro")
@NamedQuery(name="SmartDatosMaestro.findAll", query="SELECT s FROM SmartDatosMaestro s")
public class SmartDatosMaestro implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="sm_scdatmaestro")
	private Integer smscdatmestro;
	
	@Column(name="sm_codatmaestro")
	private String smcodatmaestro;
	
	@Column(name="sm_dsdatmaestro")
	private String smdsdatmaestro;
	
	//bi-directional many-to-one association to SmartMaestro
	@ManyToOne(optional = false, fetch = FetchType.LAZY)
	@JoinColumn(name="sm_scmaestro", referencedColumnName="sm_scmaestro")
	private SmartMaestro smartMaestro;
	
	@Column(name="sm_dsvalor")
	private String smdsvalor;
	
	@Column(name="sm_fhmodificacion")
	private Date smfhmodificacion;
	
	@Column(name="sm_fhingreso")
	private Date smfhingreso;
	
	@Column(name="sm_fhretiro")
	private Date smfhretiro;
	
	@Column(name="sm_cousuario")
	private String smcousuario;
	
	@OneToMany(cascade = CascadeType.ALL,mappedBy="smartDatosMaestroTipoUbicacion",fetch = FetchType.LAZY)
	private List<SmartZona> smartZonaTipoUbicacion;
	
	@OneToMany(cascade = CascadeType.ALL,mappedBy="smartDatosMaestroTipoZona",fetch = FetchType.LAZY)
	private List<SmartZona> smartZonaTipoZona;
	
	@OneToMany(cascade = CascadeType.ALL,mappedBy="smartDatosMaestroTipoIdentificacion",fetch = FetchType.LAZY)
	private List<SmartPersona> smartPersonatipoIdentificacion;
	
	@OneToMany(cascade = CascadeType.ALL,mappedBy="smartDatosMaestroSexo",fetch = FetchType.LAZY)
	private List<SmartPersona> smartPersonaSexo;
	
	@OneToMany(cascade = CascadeType.ALL,mappedBy="smdscalendario",fetch = FetchType.LAZY)
	private List<SmartInstitucion> smartInstitucionCalendario;
	
	@OneToMany(cascade = CascadeType.ALL,mappedBy="smscsector",fetch = FetchType.LAZY)
	private List<SmartInstitucion> smartInstitucionSector;
	
	@OneToMany(cascade = CascadeType.ALL,mappedBy="smsctipoubicacion",fetch = FetchType.LAZY)
	private List<SmartInstitucion> smartInstitucionTipoUbicacion;
	
	@OneToMany(cascade = CascadeType.ALL,mappedBy="smsctipozona",fetch = FetchType.LAZY)
	private List<SmartInstitucion> smartInstitucionTipoZona;
	
	@OneToMany(cascade = CascadeType.ALL,mappedBy="smartSedeTipoUbicacion",fetch = FetchType.LAZY)
	private List<SmartSede> smartSedeTipoUbicacion;
	
	@OneToMany(cascade = CascadeType.ALL,mappedBy="smartSedeTipoZona",fetch = FetchType.LAZY)
	private List<SmartSede> smartSedeTipoZona;
	

	public List<SmartZona> getSmartZonaTipoUbicacion() {
		return smartZonaTipoUbicacion;
	}

	public void setSmartZonaTipoUbicacion(List<SmartZona> smartZonaTipoUbicacion) {
		this.smartZonaTipoUbicacion = smartZonaTipoUbicacion;
	}

	public List<SmartSede> getSmartSedeTipoUbicacion() {
		return smartSedeTipoUbicacion;
	}

	public void setSmartSedeTipoUbicacion(List<SmartSede> smartSedeTipoUbicacion) {
		this.smartSedeTipoUbicacion = smartSedeTipoUbicacion;
	}

	public List<SmartSede> getSmartSedeTipoZona() {
		return smartSedeTipoZona;
	}

	public void setSmartSedeTipoZona(List<SmartSede> smartSedeTipoZona) {
		this.smartSedeTipoZona = smartSedeTipoZona;
	}

	public List<SmartZona> getSmartZonaTipoZona() {
		return smartZonaTipoZona;
	}

	public List<SmartPersona> getSmartPersonaSexo() {
		return smartPersonaSexo;
	}

	public List<SmartPersona> getSmartPersonatipoIdentificacion() {
		return smartPersonatipoIdentificacion;
	}

	public void setSmartPersonatipoIdentificacion(
			List<SmartPersona> smartPersonatipoIdentificacion) {
		this.smartPersonatipoIdentificacion = smartPersonatipoIdentificacion;
	}

	public List<SmartInstitucion> getSmartInstitucionCalendario() {
		return smartInstitucionCalendario;
	}

	public void setSmartInstitucionCalendario(
			List<SmartInstitucion> smartInstitucionCalendario) {
		this.smartInstitucionCalendario = smartInstitucionCalendario;
	}

	public List<SmartInstitucion> getSmartInstitucionSector() {
		return smartInstitucionSector;
	}

	public void setSmartInstitucionSector(
			List<SmartInstitucion> smartInstitucionSector) {
		this.smartInstitucionSector = smartInstitucionSector;
	}

	public List<SmartInstitucion> getSmartInstitucionTipoUbicacion() {
		return smartInstitucionTipoUbicacion;
	}

	public void setSmartInstitucionTipoUbicacion(
			List<SmartInstitucion> smartInstitucionTipoUbicacion) {
		this.smartInstitucionTipoUbicacion = smartInstitucionTipoUbicacion;
	}

	public List<SmartInstitucion> getSmartInstitucionTipoZona() {
		return smartInstitucionTipoZona;
	}

	public void setSmartInstitucionTipoZona(
			List<SmartInstitucion> smartInstitucionTipoZona) {
		this.smartInstitucionTipoZona = smartInstitucionTipoZona;
	}

	public void setSmartZonaTipoZona(List<SmartZona> smartZonaTipoZona) {
		this.smartZonaTipoZona = smartZonaTipoZona;
	}

	public void setSmartPersonaSexo(List<SmartPersona> smartPersonaSexo) {
		this.smartPersonaSexo = smartPersonaSexo;
	}

	public Integer getSmscdatmestro() {
		return smscdatmestro;
	}

	public void setSmscdatmestro(Integer smscdatmestro) {
		this.smscdatmestro = smscdatmestro;
	}

	public String getSmcodatmaestro() {
		return smcodatmaestro;
	}

	public void setSmcodatmaestro(String smcodatmaestro) {
		this.smcodatmaestro = smcodatmaestro;
	}

	public String getSmdsdatmaestro() {
		return smdsdatmaestro;
	}

	public void setSmdsdatmaestro(String smdsdatmaestro) {
		this.smdsdatmaestro = smdsdatmaestro;
	}

	public SmartMaestro getSmartMaestro() {
		return smartMaestro;
	}

	public void setSmartMaestro(SmartMaestro smartMaestro) {
		this.smartMaestro = smartMaestro;
	}

	public String getSmdsvalor() {
		return smdsvalor;
	}

	public void setSmdsvalor(String smdsvalor) {
		this.smdsvalor = smdsvalor;
	}

	public Date getSmfhmodificacion() {
		return smfhmodificacion;
	}

	public void setSmfhmodificacion(Date smfhmodificacion) {
		this.smfhmodificacion = smfhmodificacion;
	}

	public Date getSmfhingreso() {
		return smfhingreso;
	}

	public void setSmfhingreso(Date smfhingreso) {
		this.smfhingreso = smfhingreso;
	}

	public Date getSmfhretiro() {
		return smfhretiro;
	}

	public void setSmfhretiro(Date smfhretiro) {
		this.smfhretiro = smfhretiro;
	}

	public String getSmcousuario() {
		return smcousuario;
	}

	public void setSmcousuario(String smcousuario) {
		this.smcousuario = smcousuario;
	}
	
	
}
